The invention relates to a data processing device which includes a circuit which consists of various circuit sections which can be fed with a supply voltage via a configuration of conductors, and includes data processing means which constitute such a circuit section that can be fed with the supply voltage and are arranged to process data while utilizing a characteristic value, and also includes sequencing means which also constitute such a circuit section that can be fed with the supply voltage and are arranged to execute an algorithm in order to control the data processing means in conformity with this algorithm, which algorithm comprises a given number N of sub-algorithms which contain identical sequences of algorithm steps and can be executed in a given order each time when the algorithm is executed, and wherein, upon processing of data by means of the data processing means under the control of the sequencing means in conformity with the algorithm, the data processing causes a current peak pattern to occur at the area of the configuration of conductors, the pattern configuration of the current peak pattern being dependent on the algorithm steps, on the processed data and on the characteristic value.
The invention also relates to a circuit for a data processing device which consists of various circuit sections which can be fed with a supply voltage via a configuration of conductors and includes data processing means which constitute such a circuit section that can be fed with the supply voltage and are arranged to process data while utilizing a characteristic value, and also includes sequencing means which also constitute such a circuit section that can be fed with the supply voltage and are arranged to execute an algorithm in order to control the data processing means in conformity with this algorithm, which algorithm comprises a given number N of sub-algorithms which contain identical sequences of algorithm steps and can be executed in a given order each time when the algorithm is executed, and wherein, upon processing of data by means of the data processing means under the control of the sequencing means in conformity with the algorithm, the data processing causes a current peak pattern to occur at the area of the configuration of conductors, the pattern configuration of the current peak pattern being dependent on the algorithm steps, on the processed data and on the characteristic value.
A data processing device of the kind set forth in the first paragraph and a circuit of the kind set forth in the second paragraph are known notably from the contact-type chip cards which are used in a variety of versions and include an integrated component developed and marketed by Applicant. In the known data processing device, so in the known contact-type chip card, and in the known circuit, so in the integrated component included in such a known contact-type chip card, the data processing means are formed by encryption means which perform, in conformity with the “Data Encryption Standard” (DES), an encryption operation on data applied thereto while utilizing a characteristic value which is also applied thereto, that is to say a secret key. During such an encryption operation overall N=8 so-called SBOX units are executed, an SBOX result being calculated by means of each SBOX unit. All eight SBOX units are executed within the framework of a program which constitutes an algorithm and each program block of which forms a sub-algorithm and corresponds to an SBOX unit. Each program block, corresponding to an SBOX unit, contains a table which is characteristic of the relevant SBOX unit and contains entries, the entries of all SBOX units being different. The table contained in an SBOX unit, or the entries in this table, is used to determine output data associated with the input data applied to an SBOX unit. Such determination of output data associated with input data, however, is performed while utilizing the same algorithm for the linking of input data and output data in all eight SBOX units; this means that each of the N program blocks, representing a respective SBOX unit and constituting a respective sub-algorithm, contains identical sequences of program instructions as algorithm steps. In the known data processing device, or the known circuit, the N program blocks are invariably executed in the same order each time when the program is executed.
During execution of an encryption operation a current peak pattern occurs at the area of the configuration of conductors, which peak pattern is dependent on the program instructions, on the data processed in the encryption means and on the characteristic value used in the encryption means, so on the secret key for these encryption means. In the known data processing device, or in the known circuit, a problem is encountered in that the respective current peak patterns thus caused also occur in parts of the circuit, or parts of the data processing device, which can be externally interrogated. The occurrence of the respective current peak patterns each time caused in said parts can be used, for example, to supply the data processing means for the processing of data while utilizing a characteristic value with given known data an arbitrary number of times in succession in order to carry out processing, and to subject the current peak pattern thus produced, always being the same, during the processing of this known data, to observation or detection, so that information concerning the characteristic value, so the secret key, used in the data processing means, so the encryption means, can be extracted from the detected current peak pattern while using rather complex correlation methods or comparison methods which, however, are known and available. Evidently, such cracking of a secret key is undesirable, because the desired secrecy can then no longer be reliably ensured.